package io;

import java.io.*;

//java 将流分为两类：节点流和处理流
//节点流又称为低级流，是实际上我们程序与另一端的管道，负责实际读写数据的流
//读写一定建立在低级流的基础上进行的。
//处理流：又称作高级流，过滤流，不能独立存在，必须在其他流上，目的是当数据流经它时
//对数据某种加工处理，简化我们的操作
//实际开发中，我们总是串联一组高级流到低级流中，完成一个复杂的读写操作，这个过程称作流的连接，也是IO的精髓
//缓冲流
//java.io.BufferedInput
//缓冲流在连接中的作用是加快读写效率
public class CopyDemo03 {
    public static void main(String[] args) throws IOException {
        FileInputStream fis=new FileInputStream("file1.jpg");
        BufferedInputStream bis=new BufferedInputStream(fis);
        FileOutputStream fos=new FileOutputStream("file4.j");
        BufferedOutputStream bos=new BufferedOutputStream(fos);
        int d=0;
        long start=System.currentTimeMillis();
        while ((d=bis.read())!=-1){
            bos.write(d);
        }
        long end=System.currentTimeMillis();
        System.out.println("耗时"+(end-start)+"毫秒");
        bis.close();
        bos.close();
    }
}
